/*
Problem Description
There are many lamps in a line. All of them are off at first. A series of operations are carried out on these lamps. On the i-th operation, the lamps whose numbers are the multiple of i change the condition ( on to off and off to on ).
Input
Each test case contains only a number n ( 0< n<= 10^5) in a line.
Output
Output the condition of the n-th lamp after infinity operations ( 0 - off, 1 - on ).
Sample Input
1
5
Sample Output
1
0
Hint
hint

Consider the second test case:

The initial condition   : 0 0 0 0 0 …
After the first operation : 1 1 1 1 1 …
After the second operation : 1 0 1 0 1 …
After the third operation : 1 0 0 0 1 …
After the fourth operation : 1 0 0 1 1 …
After the fifth operation : 1 0 0 1 0 …

The later operations cannot change the condition of the fifth lamp any more. So the answer is 0.
--------------------------------------------------------------------------------
我们举个简单的例子来看看它的规律:
比如n=16,则在第1、2、4、8、16次操作的时候，第16号灯都会被调整，因为16是1、2、4、8、16的倍数。
共有5次，因为开始是关闭的，所以最后将是亮着的。
你可能已经发现，其实求第n盏灯最后的状态，只是求它的因子个数的奇偶性(因为对同一盏等调整两次就恢复原状态)。
但你继续往下思考一下。是不是又发现了什么呢？
因子是不会只有1个的，比如16 = 1 * 16 = 2 * 8 = 4 * 4
所以，因为A = a × b，如果所有的因子a都不等于b，则因子的个数一定是偶数。
唯一使A的因子的个数为奇数的可能是存在A = a × b 且 a = b。即A是完全平方数。就像刚刚的16 = 4 × 4。
所以只要判断输入的数是否为完全平方数即可。
 */
package com.yuan.algorithms.training20150719;

import java.util.Scanner;

public class 开关灯状态判断 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int n = sc.nextInt();
			double k = Math.sqrt(n);
			if (k==(int)k) {
				System.out.println(1);
			}else {
				System.out.println(0);
			}
		}
	}

}
